/*
 * Copyright 2018 JDCLOUD.COM
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *    http:#www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *
 * Live-to-Vod
 * 直播转点播相关接口
 *
 * OpenAPI spec version: v1
 * Contact: 
 *
 * NOTE: This class is auto generated by the jdcloud code generator program.
 */


using System;
using System.Collections.Generic;
using System.Text;

using JDCloudSDK.Core.Annotation;

namespace JDCloudSDK.Vod.Model
{

    /// <summary>
    ///  创建直播转点播任务
    /// </summary>
    public class CreateLiveToVodTaskRequestObject
    {

        ///<summary>
        /// 视频标题
        ///Required:true
        ///</summary>
        [Required]
        public string Title{ get; set; }
        ///<summary>
        /// 文件名称
        ///Required:true
        ///</summary>
        [Required]
        public string FileName{ get; set; }
        ///<summary>
        /// 文件大小
        ///</summary>
        public long? FileSize{ get; set; }
        ///<summary>
        /// 封面地址
        ///</summary>
        public string CoverUrl{ get; set; }
        ///<summary>
        /// 视频描述
        ///</summary>
        public string Description{ get; set; }
        ///<summary>
        /// 分类ID
        ///</summary>
        public long? CategoryId{ get; set; }
        ///<summary>
        /// 视频标签集合
        ///</summary>
        public List<string> Tags{ get; set; }
        ///<summary>
        /// 转码模板组ID。若此字段不为空，则将以模板组方式提交转码作业，transcodeTemplateIds字段将被忽略。
        ///</summary>
        public string TranscodeTemplateGroupId{ get; set; }
        ///<summary>
        /// 转码模板ID集合
        ///</summary>
        public List<long?> TranscodeTemplateIds{ get; set; }
        ///<summary>
        /// 水印ID集合
        ///</summary>
        public List<long?> WatermarkIds{ get; set; }
        ///<summary>
        /// 推流域名
        ///Required:true
        ///</summary>
        [Required]
        public string PublishDomain{ get; set; }
        ///<summary>
        /// 应用名称
        ///Required:true
        ///</summary>
        [Required]
        public string AppName{ get; set; }
        ///<summary>
        /// 流名称
        ///Required:true
        ///</summary>
        [Required]
        public string StreamName{ get; set; }
        ///<summary>
        /// 录制时间段集合
        /// - 支持自定义1-10个时间段,拼接成一个文件
        /// - 每个时间段不小于10s
        /// - 总跨度不超过12小时
        /// - 时间段按升序排列且无重叠
        /// 
        ///Required:true
        ///</summary>
        [Required]
        public List<RecordTime> RecordTimes{ get; set; }
        ///<summary>
        /// 录制文件类型:
        /// - 取值: ts, flv, mp4
        /// - 不区分大小写
        /// 
        ///Required:true
        ///</summary>
        [Required]
        public string RecordFileType{ get; set; }
        ///<summary>
        /// 直播录制任务外键
        ///</summary>
        public string TaskExternalId{ get; set; }
        ///<summary>
        /// 任务优先级:
        /// - 取值: low, medium, high
        /// - 不区分大小写
        /// 
        ///</summary>
        public string Priority{ get; set; }
    }
}
